Automated Presentation of directory src/demos/video/

HUB | Up | Download | Pheedbak | Tree | Topic | A-Z | Search | Hot | New


Please be aware: what appears below are the v4.2 DT bits in auto-generated html form.
As we have the time, we will update these to reflect the current "state of the world".


README file from "video" directory

 

          README for Galileo, Indigo2 Video and IndyVideo Demos

the file demo.scf is included in the galileo.sw.demos subsystem.
and gets loaded as /usr/demos/bin/video/galileo/demo.scf

This directory contains the following demos and files: 

specialfx:
----------

'specialfx' demonstrates many of the special effects features possible with
Galileo, Indigo2 Video and IndyVideo, particularly in the areas of chroma
keying, luma keying, and transitions (also known as wipes & fades, blends,
and/or switches).  These effects, by definition, generally operate upon two
input sources. 'specialfx' demonstrates these effects with the two input
sources consisting of one video input source (e.g. a camera connected to 
your video board input), and one graphics source (i.e. pixel data which is 
drawn on your computer display). The results are sent to the video output,
and also displayed on the screen. 

The current version is not designed to show all additional possibilities
available with the digital break-out-box option(s).  However, the video
input source may be set to any of the digital inputs or outputs (see below,
under "options").

Running 'specialfx':
	
	Exit existing video applications (e.g., videoin). 

	Within the directory /usr/demos/bin/video/galileo, type 'specialfx'.
	You may also decide to use the simple shell script 'run_specialfx',
	which can be copied to and run from any directory. NOTE: you must
	edit this file if you wish to use 'run_specialfx' to launch specialfx 
	with any of its command line options.

	The icon for 'run_specialfx' is one you can drag anywhere within
	your desktop environment so that you may run the 'specialfx' program
	whenever you double-click on it, as long as this directory remains 
	intact.

	'specialfx' assumes you have an active video input source which is
	appropriately selected using the videopanel. 'specialfx' is best
	demonstrated when a high quality video monitor is available to view
	the video output. 

	In order to quit, select 'Quit' under 'File' on the main panel, 
	or you may also press the 'q' key while the mouse is inside the 
	video blending window.

The layout for the program upon startup, is as follows:

	-   An unmarked region is defined in the upper left corner of your
	    monitor's screen as an input graphics window. The dimensions of
	    this region are either NTSC or PAL sized to match your input source
	    type. Whatever is drawn to and appears in this region will serve
	    as a graphics input source to the program.  This region's location
	    currently cannot be changed.

	-   The active video input source is used as a second input source.

	-   A video blending window appears in the lower left.  The result of
	    the special effects are displayed here, as well as sent to the
	    video output of your video board. 

	    Characteristics of this blending window include:

	    - The window may later be moved if desired.
	    - The window contents are 24 bit color, however if an additional
	      video input window is opened, then both the blending window and
	      the third window will become 12-bit dithered versions of the
	      video output.
	    - The window and its contents may be zoomed up and down using the
	      '+' and '-' keys (with the mouse positioned inside the window).
	      A zoomed up window may be panned using the arrow keys. 
	    - NTSC users will see an NTSC sized window by default. PAL users
	      will see a PAL window, zoomed down 1/2 in each dimension, which
	      may then be zoomed up and viewed with truncation and with use of
	      panning, if so desired.

	-   A main program control panel. 

The contents of the main control panel are as follows:

	    Menu Bar with pulldowns for: 
		File Controls Apps Utilities Help 

	    Four buttons: 
		- Grab & Save 
		- Grab & Display
		- Gfx over Video
		- Video over Gfx

Found under 'Controls', the 'Display All Control Windows' menu choice brings up
three windows which control three modes of blending.  These three modes are:
luma keying, chroma keying, and switches (transitions).  For all modes, one
of your two input sources is defined to be the 'Foreground' source, and the 
other as the 'Background'.  Touching any of the sliders or buttons on any one
control window activates the blending associated with that window. The three
modes of blending are:

    Luma keying: pixels are selected from your foreground source based upon
		 their luminance (Y value in YUV color space), and blended
		 with variable transparency with the corresponding pixels from
		 your background source.  

    Chroma keying: pixels are selected from your foreground source based upon
		their chrominance (U and V values in YUV color space), and
		blended with the corresponding pixels from your background
		source. 

    Switches (or transitions): pixels are selected from your foreground source
		based upon their spatial location, and blended with the 
		corresponding pixels in your background source. The usual use
		of such a spatially based effect is that a progression is made
		over time which in essence executes a transition from one
		source to the other. 

The Luma Key control window consists of four sliders:
    
    Ymin, Ymax, Sharp, and Dense.
    Ymin and Ymax specify a range of Y values for the execution of your key.
    Sharp performs a filter on the selection of the your Y values, and may
	be visually described as a sharpness of the key.
    Dense (Density) controls the density or opacity of the foreground pixels
	*not* selected by the Y range key. 

The Chroma Key control window consists of five sliders:
    Umin, Umax, Vmin, Vmax, and Sharp.
    These perform the same functions as the luma sliders, only for U and V
    instead of Y.  Also, note there is no density or opacity control. 

NOTE: Please refer to your Video Library guide(s) for examples and discussion
      on keying, related subjects, and the parameters which are accessible 
      to user control through the Video Library (VL).
	    
Both the Luma Key and Chroma Key control windows contain 'lock' buttons and
preset buttons A B 1 2 3 4 5.  The 'lock' buttons lock the min and max sliders
together so that you maintain a constant range.  The preset buttons allow you
to save the current settings for future recall, much in the way radio station
presets work.  In order to save your current settings into button 1, simply
press the 'set' button, and then press button 1, deactivating the 'set' button.
When you press any preset button without the 'set' button being activated, then
the sliders will be set to the last stored values.  By default, the control
windows come with a few useful preset values.  The A button on the Chroma
window is a key on a shade of blue found in the demo program 'atlantis'. 
The A button on the Luma window should work for black or near black values.
At this time, there is no way to save these presets into a file, therefore 
the presets are only useful during the time in which 'specialfx' is running.

The up and down arrow keys allow for incremental (+1 and -1) of the slider
values on the Luma and Chroma Key control windows.

The Switch Control consists of several transition buttons which execute 
transitions from one source to the other.  There are also controls for 
the speed, sharpness and repeat (a geometry factor applying to some but 
not all transitions).  Also, if the 'automatic' toggle is deactivated, 
the 'manual' slider allows one to control the progression of the switch.

For all modes of blending, the 'Gfx over Video' and 'Video over Gfx' buttons
allow you to specify which of the two input sources will be considered the
foreground and which will be the background.  

	 
The rest of the menu choices and buttons:

Under Apps:Buttonfly,ImageWorks,Showcase,Movieplayer,Video Paint,Video T-mesh
    Each of these launches the correspondingly named application or demo
    program. These are included for easy access to interesting material to 
    use as your graphics source.  Vidpaint and vidtmesh are described below,
    the rest should have their own man pages. Some of these may not by default
    place their windows into the graphics source region (upper left), so it 
    is up to you to do so.  You need to have 'imgtools' installed in order 
    to run ImageWorks (/usr/sbin/imgworks).

Under Utils: Video Control Panel, Show Color Wheels

    The video control panel (videopanel) is essential in selecting your video
    input source (e.g. composite 1, composite 2, etc.) and providing access to
    all basic video control functions.  Show Color Wheels displays some color
    wheels which are very instructional when placed into the graphics source
    region during luma and chroma keying operations, and can be used as an aid
    in identifying the desired values for your sliders.  It is important to
    note that the color wheels represent an RGB color space and not a YUV 
    color space. 

Grab & Save, Grab & Display

    These buttons allow you to capture a single full-sized frame of your
    video input source.  The saved frame can then be displayed as part of
    your graphics source. The ImageWorks app allows you to view and perform
    some basic image processing algorithms from the image processing library
    on the saved frame.
 
Customizing the specialfx demo environment:

   'specialfx'  has several shell scripts which called depending on which
    buttons on the main control panel are pressed. The	contents of these
    scripts may be changed but the names of the scripts must remain the same
    for proper operation. 

    Thus, there is room for tailoring of 'specialfx' to demonstrate 'favorite'
    applications, demos, etc..  The X resource file, 'Specialfx', which can be 
    found in /usr/lib/X11/app-defaults, may also be modified for different
    fonts, button labels, etc..

    Under Apps, the following shell scripts are called. The labels for these
    buttons are found in the resource file 'Specialfx'
	app1.sh	    :  run 'buttonfly' (access to installed graphics demos)
	app2.sh	    :  run 'imgworks' - (show and process a snapped image)
	app3.sh	    :  run 'showcase' (can show text overlays, etc.)
	app4.sh	    :  run 'movieplayer' (can run a digitized movie)
	app5.sh	    :  run 'vidpaint' demo (see below)
	app6.sh	    :  run 'vidtmesh' demo (see below)

    The grab & display, grab & save buttons on the main menu:
	grabndisp.sh:  run 'vidtomem' to grab a frame and display it
	grabnsave.sh:  run 'vidtomem' to grab a frame 

    Help and Util pulldowns:
	help.sh	    :  view a showcase document with help (this document).
	util1.sh    :  run 'videopanel' 
	util2.sh    :  display (using 'ipaste') color wheels for reference

	The 'snapped image' or 'grabbed frame'  referred to above, is the file
	out-00000.rgb. In the default operation, there is always just this 
	one file, which gets written over whenever 'grabndisp.sh' and 
	'grabnsave.sh' are run (both use vidtomem).

options:
--------
To see 'specialfx' command line options, type 'specialfx -h'.
Note that the optional command line arguments must be specified in the 
order suggested for proper operation.

Digital video input and output may be specified in one of 2 ways: 

    1) set the desired inputs and outputs using the video control panel,
       then run specialfx with no command line arguments (default mode).

    2) use the command line options -v <videonode> and -o <videonode> to
       set the input and output video nodes respectively, where 'videonode'
       is an integer with one the following values: 0 (analog), 1 (digital 1),
       or 2 (digital 2).

vidpaint:
---------
Vidpaint captures video into memory at the 1/4 by 1/4 size (1/8 the area
of the full size of the source you are using), and then draws the frames into
a window.  You can 'paint' with the frames by pressing down on the left mouse
button and dragging the mouse around.  The middle mouse button clears the 
background, and the right mouse button brings up a pop up menu with many
options which you can experiment with.  If you run vidpaint independently,
without having first run specialfx, you may have to make sure that the device
SYNC is set to SLAVE mode.  The input source will be the current default
setting, which you can set with the videopanel. If 'specialfx' is running,
the input used by 'specialfx' will become the input for vidpaint.  

vidtmesh:
---------
Vidtmesh captures video into memory at the 1/4 by 1/4 size, (1/8 the area
of the full size of the source you are using) and places the frames onto a 3D 
triangle mesh (tmesh) grid, which you can then manipulate in space.  The left
mouse button zooms up and down, the middle mouse allows you to rotate the 
grid, and as in vidpaint, the right mouse brings up a pop up menu with several
options which you can experiment with. If you run vidtmesh independently,
without having first run specialfx, you may have to make sure that the device
SYNC is set to SLAVE mode.  The input source will be the current default
setting, which you can set with the videopanel. If 'specialfx' is running, 
the input used by 'specialfx' will become the input for vidtmesh.  


bigvideoin:
----------
A very simple mini application which shows a zoomed up videoin window which 
nearly fills your display with video. 

trails:
-------
A specialty program which sets up a feedback loop so that you can see
trailing effects.  This program requires a lot of fine tuning based upon
your incoming picture content.  One generally needs to run the example
blending control interface, 

/usr/people/4Dgifts/examples/video/vl/keyctls

and also experiment with the Pro/Video Input and Pro/Video Output control
panels of the video control panel (videopanel).


Known bugs, limitations and/or explanation of specific behaviors:
---------------------------------------------------------------------------
- Other apps such as video input must be exited before running 'specialfx',
  otherwise the program will exit with a startup error. 

- Running other apps while 'specialfx' is running may leave 'specialfx' in
  an inoperable condition.  Quitting and starting over again may be 
  necessary.

- There is a flickering line at the very top of the video blending window
  ('specialfx').  This is similar to the behavior seen in 'videoin'. One
  way to stop seeing this line on your screen (note that it should not 
  exist on your video output) is to push the window down against the bottom
  edge of your screen until the top window border comes down and cuts off
  the flickering line.  This may be resolvable in a future release.

- In zoomed down modes, there may sometimes be some jittery behavior or
  misalighed video in the zoomed down video window initially. Zooming up and
  then back down usually fixes the image.  Also, if an additional video input
  window is started, the placement of the two windows may be sensitive - there
  may be many positions which may result in poor video image quality.  This is
  likely a software issue which should be resolved in a future release. 
 
- When the buttons on the switch control window ('specialfx') are pressed,
  there will occasionally be a slight flash from graphics to video or vice
  versa, just before the switch occurs.  This is a VL implemenation issue
  which will likely be improved/fixed/changed in a future release. 

- 'bigvideoin' may not work properly if other apps are running video input 
  windows.  Exit other video-in windows for best results. 

- the 'Grab and Display' and 'Grab and Save' functions currently attempt to
  write a captured frame to /var/tmp/out-00000.rgb.  In some cases this file
  may exist and have write restrictions which cannot be overcome.  In these 
  cases, you will see the message, 

  'iopen: can't open output file out-00000.rgb'

  You may try to delete or move the current copy in /var/tmp in order to 
  allow you to write a new one. 

- It has been observed, in rare circumstances, that running 'vidpaint' or 
  'vidtmesh' while 'specialfx' is running, may result in strong flickering
  both in the blending window and in the output display.  This is strictly 
  a software issue, which will likely be fixed in a future release. 
  Quitting from the 'specialfx' program and running some other standalone
  apps such as /usr/people/4Dgifts/examples/video/vl/simpleblend, or 
  'trails', or 'bigvideoin' and then returning to 'specialfx' should fix 
  the situation. 

Files of interest from "src/demos/video" directory

Source

Documentation

Images

Reference


Select any combo of files you'd like to send yourself a compressed tar image of. Executables/scripts are indicated with a trailing `*' character. (Depending upon the browser, it may be necessary to hold down the Ctrl key to select/deselect disjoint items.) a compressed tar image of the above-selected items.
OR, ...
a compressed tar image of the entire video directory.

Copyright © 1995, Silicon Graphics, Inc.